﻿using System.Linq;


namespace ibba.src.norisk
{
    public static class PerfilHelper
    {
        private static bool? _perfilMaster = null;
        private static bool? _perfilConsulta = null;
        private static bool? _perfilBackoffice = null;
        
        public const string PERFIL_MASTER = "master";
        public const string PERFIL_CONSULTA = "consulta";
        public const string PERFIL_BACKOFFICE = "backoffice";
                
        public static string PerfilDeAcesso
        {
            get
            {
                if (IsMaster)
                    return PERFIL_MASTER;
                else if (IsBackOffice)
                    return PERFIL_BACKOFFICE;
                else
                    return PERFIL_CONSULTA;
            }

        }

        /// <summary>
        /// Retorna true se usuário possuir perfil "master"
        /// </summary>        
        public static bool IsMaster
        {
            get
            {
                if (_perfilMaster == null)
                    _perfilMaster = (AppHelper.Perfil.Where(a => a.ToLower() == PERFIL_MASTER).ToList().Count > 0);

                return (bool)_perfilMaster;
            }
        }

        public static bool IsConsulta
        {
            get
            {
                if (_perfilConsulta == null)
                    _perfilConsulta = (AppHelper.Perfil.Where(a => a.ToLower() == PERFIL_MASTER || a.ToLower() == PERFIL_CONSULTA).ToList().Count > 0);

                return (bool)_perfilConsulta;
            }
        }

        public static bool IsBackOffice
        {
            get
            {
                if (_perfilBackoffice == null)
                    _perfilBackoffice = (AppHelper.Perfil.Where(a => a.ToLower() == PERFIL_MASTER || a.ToLower() == PERFIL_BACKOFFICE).ToList().Count > 0);

                return (bool)_perfilBackoffice;
            }
        }
    }
}
